package vista;

import java.awt.Color;

import javax.swing.JFrame;
import net.miginfocom.swing.MigLayout;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;

import controlador.ControladorGuiaTuristica;
import javax.swing.JPanel;

public class VentanaEjecutar extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTextField textoIdCiudad;
	private JTextField textoNombre;
	private JTextField textoEstado;
	private JTextField textoPoblacion;
	private JTextField textoSuperficie;
	private JTextArea textoResenaHistorica;
	private JScrollPane panelSitiosInteres;
	private JPanel panel;
	
	public VentanaEjecutar() {
		setSize(425, 500);
		setResizable(false);
		setLocationRelativeTo(null);
		setTitle("Gu\u00EDa tur\u00EDstica");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		getContentPane().setLayout(new MigLayout("", "[grow,fill][grow]10[][grow]", "[][][][82.00][][grow]"));
		
		JLabel etiquetaIdCiudad = new JLabel("Id de la ciudad:");
		getContentPane().add(etiquetaIdCiudad, "cell 0 0");
		
		textoIdCiudad = new JTextField();
		getContentPane().add(textoIdCiudad, "cell 1 0");
		textoIdCiudad.setColumns(10);
		
		JButton botonEjecutar = new JButton("Ejecutar");
		botonEjecutar.addActionListener(new ControladorGuiaTuristica(this));
		getContentPane().add(botonEjecutar, "cell 2 0 2 1");
		
		JLabel lblNombre = new JLabel("Nombre:");
		getContentPane().add(lblNombre, "cell 0 1");
		
		textoNombre = new JTextField();
		textoNombre.setEditable(false);
		getContentPane().add(textoNombre, "cell 1 1");
		textoNombre.setColumns(10);
		textoNombre.setEditable(false);
		
		JLabel lblPoblacion = new JLabel("Poblaci\u00F3n:");
		getContentPane().add(lblPoblacion, "cell 2 1");
		
		textoPoblacion = new JTextField();
		textoPoblacion.setEditable(false);
		getContentPane().add(textoPoblacion, "cell 3 1,growx");
		textoPoblacion.setColumns(10);
		textoPoblacion.setEditable(false);
		
		JLabel lblEstado = new JLabel("Estado:");
		getContentPane().add(lblEstado, "cell 0 2");
		
		textoEstado = new JTextField();
		textoEstado.setEditable(false);
		getContentPane().add(textoEstado, "cell 1 2");
		textoEstado.setColumns(10);
		textoEstado.setEditable(false);
		
		JLabel lblSuperficie = new JLabel("Superficie:");
		getContentPane().add(lblSuperficie, "cell 2 2");
		
		textoSuperficie = new JTextField();
		textoSuperficie.setEditable(false);
		getContentPane().add(textoSuperficie, "cell 3 2,growx");
		textoSuperficie.setColumns(10);
		textoSuperficie.setEditable(false);
		
		JLabel lblResenaHistorica = new JLabel("Rese\u00F1a hist\u00F3rica:");
		getContentPane().add(lblResenaHistorica, "cell 0 3");
		
		textoResenaHistorica = new JTextArea();
		textoResenaHistorica.setEditable(false);
		textoResenaHistorica.setLineWrap(true);
		textoResenaHistorica.setEditable(false);
		JScrollPane panelResenaHistorica = new JScrollPane(textoResenaHistorica);
		getContentPane().add(panelResenaHistorica, "cell 1 3 3 1,grow");
		
		JLabel lblSitiosInteres = new JLabel("Sitios de inter\u00E9s");
		getContentPane().add(lblSitiosInteres, "cell 0 4");
		
		panel = new JPanel();
		panel.setLayout(new MigLayout("wrap 1", "[grow]"));
		
		panelSitiosInteres = new JScrollPane(panel);
		getContentPane().add(panelSitiosInteres, "cell 0 5 4 1,grow");
		panelSitiosInteres.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);		
	}
	
	public void crearSitio(String nombre, String ubicacion, String resena, String telefono){
		JPanel panelSitio = new JPanel();
		panelSitio.setLayout(new MigLayout("wrap 2", "[grow][295]"));
		panelSitio.setBorder(BorderFactory.createLineBorder(Color.gray));
	
		JLabel etiquetaNombre = new JLabel("Nombre:");
		panelSitio.add(etiquetaNombre);
		
		JTextField textoNombre = new JTextField(nombre);
		panelSitio.add(textoNombre, "grow");
		textoNombre.setEditable(false);
		
		JLabel etiquetaUbicacion = new JLabel("Ubicacion:");
		panelSitio.add(etiquetaUbicacion);
		
		JTextField textoUbicacion = new JTextField(ubicacion);
		panelSitio.add(textoUbicacion, "grow");
		textoUbicacion.setEditable(false);
		
		JLabel etiquetaResena = new JLabel("Resena:");
		panelSitio.add(etiquetaResena);
		
		JTextArea textoResenaSitio = new JTextArea(resena);
		textoResenaSitio.setEditable(false);
		textoResenaSitio.setLineWrap(true);
		textoResenaSitio.setRows(4);
		JScrollPane panelResena = new JScrollPane(textoResenaSitio);
		panelSitio.add(panelResena, "grow");
		
		JLabel etiquetaTelefono = new JLabel("Telefono:");
		panelSitio.add(etiquetaTelefono);
		
		JTextField textoTelefono = new JTextField(telefono);
		panelSitio.add(textoTelefono, "grow");
		textoTelefono.setEditable(false);
				
		panel.add(panelSitio);
		panel.revalidate();
	}
	
	public void limpiarPanel(){
		panel.removeAll();
	}

	public String getTextoIdCiudad() {
		return textoIdCiudad.getText();
	}

	public void setTextoIdCiudad(JTextField textoIdCiudad) {
		this.textoIdCiudad = textoIdCiudad;
	}

	public String getTextoNombre() {
		return textoNombre.getText();
	}

	public void setTextoNombre(String textoNombre) {
		this.textoNombre.setText(textoNombre);
	}

	public String getTextoEstado() {
		return textoEstado.getText();
	}

	public void setTextoEstado(String textoEstado) {
		this.textoEstado.setText(textoEstado);
	}

	public String getTextoPoblacion() {
		return textoPoblacion.getText();
	}

	public void setTextoPoblacion(String textoPoblacion) {
		this.textoPoblacion.setText(textoPoblacion);
	}

	public String getTextoSuperficie() {
		return textoSuperficie.getText();
	}

	public void setTextoSuperficie(String textoSuperficie) {
		this.textoSuperficie.setText(textoSuperficie);
	}

	public String getTextoResenaHistorica() {
		return textoResenaHistorica.getText();
	}

	public void setTextoResenaHistorica(String textoResenaHistorica) {
		this.textoResenaHistorica.setText(textoResenaHistorica);
	}

}
